package com.qf.day06.polymorphic;

import com.qf.day05.Cat;
import com.qf.day06.Animal;
import com.qf.day06.Dog;
import com.qf.day06.Fish;

/**
 * 演示多态的概念
 * (1) 方法的重载
 * (2) 方法的重写 ：取决于对象的具体类型是什么 （如果有重写，则调用重写的方法）
 */
public class Demo01 {

    public static void main(String[] args) {

        Animal animal01 = new Dog();
        animal01.setName("旺财");
        // 用哪个？ 使用真实对象中的重写方法
        animal01.eat();
        animal01.sleep();
        String s = animal01.toString();
        // 更改变量animal01指向的对象
        animal01 = new Fish();
        // 调用谁？
        animal01.eat();
        animal01.sleep();
    }

}
